home *** CD-ROM | disk | FTP | other *** search
/ Most Valuable Games 1 / Most Valuable Games I (MVP Publishing)(February 1995).iso / games1 / mechw2 / install.dat < prev    next >
Text File  |  1993-12-21  |  16KB  |  643 lines

  1. @DefineProject
  2.     @Name="Mechwarrior 2"
  3.     @Version="1.00"
  4.     @OutDrive=C
  5.     @Subdir="\\MW2DEMO"
  6.     @InDiskBell=1
  7. @EndProject
  8.  
  9. @ChDrive @InDrive
  10. // @ChDir "@InDir"
  11.  
  12. @DefineVars
  13.     @Integer @Pass =((!@Exists("@InDrive:\\DISK.ID"))*2)
  14. @EndVars
  15.  
  16. @SetOption(1)   
  17. @TextFile="ITXT.eng"
  18.  
  19. @DefineVars
  20.     @Integer @ExtraMem =(@EMMTotal)
  21.     @QString @MADECmd ="MADE"
  22.     @QString @FileBase ="DRIVERS"
  23.     @QString @MW2Base ="MW2DEMO"
  24.     @Integer @PRJM =3 //3MEG for demo
  25.     @Integer @OtherM =0
  26.     @QString @Args =""
  27.     @Drive   @CDDrive =@InDrive     // CD-ROM drive, if any
  28.     @Integer @CDDriveI =@Eval(@CDDrive-A)   // (0=A, ..., 26=Z)
  29.     @QString @OutDir =""
  30.     @QString @ST0  =@Text("None")
  31.     @QString @SF0  ="NUL"
  32.     @QString @ST1  ="Creative Labs SoundBlaster"
  33.     @QString @SF1  ="SBLASTER"
  34.     @QString @ST2  ="@ST1 Pro"
  35.     @QString @SF2  ="SBPRO"
  36.     @QString @ST3  =@Text("SBclone")
  37.     @QString @SF3  ="SBCLONE"
  38.     @QString @ST4  ="Disney SoundSource"
  39.     @QString @SF4  ="SOURCE"
  40.     @QString @ST5  ="Tandy SL/TL & Sensation"
  41.     @QString @SF5  ="TANSLTL"
  42.     @QString @ST6  ="ProAudio Spectrum"
  43.     @QString @SF6  ="PAUDIO"
  44.     @QString @ST7  ="@ST6 16"
  45.     @QString @SF7  ="PAS16"
  46.     @QString @ST8  ="Covox Speech Thing"
  47.     @QString @SF8  ="CVXSND"
  48.     @QString @ST9  ="Windows Sound System" 
  49.     @QString @SF9  ="SNDSYS"
  50.     @QString @ST10 ="@ST1 16"
  51.     @QString @SF10 =@SF2
  52.     @QString @ST11 ="Logitech SoundMan"
  53.     @QString @SF11 =@SF7
  54.     @QString @ST12 ="Advanced Gravis UltraSound"
  55.     @QString @SF12 ="GF166"
  56.     @QString @ST13 =@Text("AdLibG")
  57.     @QString @SF13 ="ADLIBG"
  58.     @QString @ST14  ="LifeSize Enhancer"
  59.     @QString @SF14  ="LSIZE"
  60.     @QString @SndDrvs ="@SF0=@ST0:@SF1=@ST1:@SF2=@ST2:@SF3=@ST3:@SF4=@ST4:@SF5=@ST5:@SF6=@ST6:@SF7=@ST7:@SF8=@ST8:@SF9=@ST9:@SF10=@ST10:@SF11=@ST11:@SF12=@ST12:@SF13=@ST13:@SF14=@ST14"
  61.     @QString @SndDrv =""
  62.     @Integer @SndDrvI =0
  63.     @QString @MT0 =@Text("None")
  64.     @QString @MF0 ="NUL"
  65.     @QString @MT1 =@Text("AdLib")
  66.     @QString @MF1 ="ADLIB"
  67.     @QString @MT2 =@ST13
  68.     @QString @MF2 =@SF13
  69.     @QString @MT3 =@ST1
  70.     @QString @MF3 =@MF1
  71.     @QString @MT4 =@ST2
  72.     @QString @MF4 =@MF1
  73.     @QString @MT5 =@Text("PCspkr")
  74.     @QString @MF5 ="PCSPKR"
  75.     @QString @MT6 ="Roland LAPC-I synthesizer"
  76.     @QString @MF6 ="MT32MPU"
  77.     @QString @MT7 ="Roland MPU-401 MIDI"
  78.     @QString @MF7 =@MF6
  79.     @QString @MT8 ="Roland MT-32 synthesizer"
  80.     @QString @MF8 =@MF6
  81.     @QString @MT9 =@ST10
  82.     @QString @MF9 =@MF1
  83.     @QString @MT10 =@ST12
  84.     @QString @MF10 ="GF1MIDI"
  85.     @QString @MT11 =@ST6
  86.     @QString @MF11 =@MF1
  87.     @QString @MT12 =@ST3
  88.     @QString @MF12 =@MF1
  89.     @QString @MT13 =@ST11
  90.     @QString @MF13 =@MF1
  91.     @QString @MT14 ="@ST10 MIDI"
  92.     @QString @MF14 ="SB16MPU"
  93.     @QString @MusDrvs ="@MF0=@MT0:@MF1=@MT1:@MF2=@MT2:@MF3=@MT3:@MF4=@MT4:@MF5=@MT5:@MF6=@MT6:@MF7=@MT7:@MF8=@MT8:@MF9=@MT9:@MF10=@MT10:@MF11=@MT11:@MF12=@MT12:@MF13=@MT13:@MF14=@MT14"
  94.     @QString @MusDrv =""
  95.     @Integer @MusDrvI =0
  96.     @Integer @IOAddr =0
  97.     @QString @IOAddrQS =""
  98.     @Integer @IRQ =0
  99.     @QString @IRQQS =""
  100.     @Integer @DMA =0
  101.     @QString @DMAQS =""
  102.     @QString @LH =""
  103.     @Integer @TmpI1 =0
  104.     @Integer @TmpI2 =0
  105.     @Integer @TmpI3 =0
  106.     @QString @TmpQS =""
  107.     @QString @tmpQX =""
  108.     @Drive   @TmpDr =A
  109.     @Dir     @TmpDi ="\\"
  110.     @QString @HexDig ="0123456789ABCDEF0123456789abcdef"
  111.     @Integer @JustIn =1
  112.     @Integer @AutoDetect =0
  113.     @Integer @Joystick
  114.     @Integer @Mouse
  115.     @Integer @Cyberman
  116.     @Integer @FCS
  117.     @Integer @WCS
  118.     @Integer @Rudders
  119.     @Integer @CfgWord
  120. @EndVars
  121.  
  122. @Display
  123.     @MoveCStr(0,54,126,"╔════════════════╗")
  124.     @MoveCStr(1,54,126,"║   ACTIVISION   ║")
  125.     @MoveCStr(2,54,126,"╚════════════════╝")
  126.     @MoveCStr(3,56,  0,"                  ")
  127.     @MoveCStr(1,72,0,"  ")
  128.     @MoveCStr(2,72,0,"  ")
  129.     @MoveCStr(4,20,95,"╔═════════════════╗")
  130.     @MoveCStr(5,20,95,"║  MECHWARRIOR 2  ║")
  131.     @MoveCStr(6,20,95,"╚═════════════════╝")
  132.     @MoveCStr(7,22, 0,"                   ")
  133.     @MoveCStr(5,39,0,"  ")
  134.     @MoveCStr(6,39,0,"  ")
  135.     @Move(8,0)
  136.     @If (!@Pass) 
  137.     @Text("HiNew", @Name)
  138.     @Text("LongTime", @Name)
  139.     @Text("EscCmd")        
  140.     @Else
  141.     @Text("HiOld", @Name)
  142.     @EndIf
  143.  
  144.     @Pause
  145. @EndDisplay
  146.  
  147. @If (@Pass)
  148.     @OutDrive=@InDrive
  149.     @Subdir="@GetCWD(@InDrive)"
  150.     @OutDir="@OutDrive:\\@Subdir"
  151.     @Goto ChooseConfig
  152. @EndIf
  153.  
  154.  
  155. ChooseDest:
  156.  
  157. @FlushOptions()
  158.  
  159. @TmpI1=@OtherM 
  160. @SetOption(61)
  161. @TmpI1=(@TmpI1+@PRJM) 
  162.  
  163. @GetOutDrive @LocalWindow(15,40)
  164.     // @Suppress @InDrive // INSTALL only accepts A-Z after @Suppress
  165.     @If (!@DirExists("A:")) @Suppress A @EndIf
  166.     @If (!@DirExists("B:")) @Suppress B @EndIf
  167.     @Cls
  168.  
  169.  @Text("ProdDrv?1", @Name)
  170.  
  171.  @Text("ProdDrv?2", "@TmpI1")
  172.  
  173.  @Text("ProdDrv?3")
  174.  @Move(22,0)@Text("SelectCmds")@Move(0,0)
  175. @EndOutDrive
  176.  
  177. @GetSubdir @Cls @LocalWindow(9,40)
  178.     @Prompt=" @Text("Dir?") "
  179.  
  180.  @Text("ProdDir?", @Name)
  181.  
  182.  @Text("CreDir")
  183. @EndSubdir
  184.  
  185. @OutDir="@OutDrive:\\@Subdir"
  186. @If (@DirExists(@OutDir))
  187.     @GetOption @Cls @LocalWindow(11,40)
  188.  @Text("DirExist", @OutDir) 
  189.  
  190.  @Text("NowWhat?")
  191.         @If (@DirExists("@OutDir\\DRIVERS"))
  192.             @Option 11="@Text("NewCfg")"
  193.         @EndIf
  194.         @Option 12="@Text("NewDrvOrDir")"
  195.         @Option 13="@Text("Overwrite")" 
  196.         @Option 14="@Text("Abort")" 
  197.     @EndOption
  198.     @If     (11[=@Option) @Goto ChooseConfig
  199.     @ElseIf (12[=@Option) @Goto ChooseDest
  200.     @ElseIf (14[=@Option) @Exit
  201.     @EndIf
  202. @EndIf
  203.  
  204. @TmpI2=(@DiskFree(@OutDrive)/1000000) 
  205. @If (@TmpI2<@TmpI1)
  206.     @GetOption @Cls @LocalWindow(13,40)
  207.     @Text("NotEnufDisk", @Name, "@TmpI1", "@OutDrive", "@Eval(@TmpI2+1)")
  208.  
  209.     @Text("NowWhat?")
  210.     @Option 12="@Text("NewDrv")"
  211.     @Option 13="@Text("TryToInstall")"
  212.     @Option 14="@Text("Abort")" 
  213.     @EndOption
  214.     
  215.     @If     (12[=@Option) @Goto ChooseDest
  216.     @ElseIf (14[=@Option) @Exit
  217.     @EndIf
  218. @EndIf
  219.  
  220. @MkDir(@OutDir)
  221.  
  222. @DefineDisk @Label="Disk #1"
  223.     @File INSTALL.EXE
  224.     @File INSTALL.DAT
  225.     @File @TextFile
  226.     @BeginLib @FileBase.RED 
  227.         @File *.* @Out DRIVERS\*.*
  228.     @EndLib
  229.     @BeginLib @MW2Base.RED 
  230.         @File *.* @Out *.*
  231.     @EndLib
  232.     
  233.     @If (1 && @Exists("@InDrive:.\\READ.ME"))
  234.         @File READ.ME
  235.     @EndIf
  236. @EndDisk
  237.  
  238. @Commit
  239.  
  240. @ChDrive @OutDrive
  241. @ChDir "@Subdir"
  242.  
  243. ChooseConfig:
  244.  
  245. @FlushOptions
  246. @FlushGroups
  247.  
  248. @TmpQS="@OutDir\\MW2.CFG"
  249. @Write(@TmpQS, "ab", "")
  250. @If (@Exists(@TmpQS) && @PeekF(@TmpQS, 0, 2)<2) 
  251.     //@PeekF(@TmpQS, 32, 1)
  252.     //@CDDriveI=@PeekF(,, 1)
  253.     @SetOption(20+@PeekF(,4, 2))
  254.     @SetOption(40+@PeekF(,2, 2))
  255.     //@If (@PeekF(,, 1)) @SetGroup(S) @EndIf
  256.     //@If (@PeekF(,, 1)) @SetGroup(X) @EndIf
  257.     @IOAddr=@PeekF(,10, 2)
  258.     @IRQ=@PeekF(,12, 2)
  259.     @DMA=@PeekF(,14, 2)
  260.     //@If (@PeekF(,, 1)) @SetGroup(H) @EndIf
  261.     @TmpQX="@OutDir\\MW2CTRL.CFG"
  262.     @If (@Exists(@TmpQX)) 
  263.         @Delete(@TmpQX)
  264.     @EndIf
  265. @Else
  266.     @SetOption(65)
  267.     @SetGroup(S)
  268.     @If (@ExtraMem)
  269.         @SetGroup(X)
  270.         @SetGroup(H)
  271.     @EndIf
  272. @EndIf
  273.  
  274.  
  275. InputConfig:
  276.  
  277. @If (!@JustIn)
  278.     @FlushOptions
  279.     @GetOption @Cls @LocalWindow(11,40)
  280.  @Text("Snd?"):
  281.         @Option 20="@ST0"
  282. //              @Option 65="@Text("AutoDet")"
  283.         @Option 21="@ST1"
  284.         @Option 22="@ST2"
  285.         @Option 30="@ST10"
  286.         @Option 23="@ST3"
  287. //              @Option 20="@ST0"
  288. //              @Option 33="@ST13"
  289. //              @Option 34="@ST14"
  290.           //@Option 28="@ST8"
  291. //              @Option 24="@ST4"
  292. //              @Option 32="@ST12"
  293. //              @Option 31="@ST11"
  294.         @Option 26="@ST6"
  295.         @Option 27="@ST7"
  296. //              @Option 25="@ST5"
  297.     @EndOption
  298. @EndIf
  299.  
  300.  
  301. @If (65[=@Option)
  302.     @If (@DetectSoundCard(0))
  303.         @SetOption(21)
  304.         @IOAddr=@DetectSoundCard(1)
  305.         @IRQ=@DetectSoundCard(2)
  306.         @DMA=@DetectSoundCard(3)
  307.         @SetOption(43)
  308.     @Else   // Assume LifeSize
  309.         @SetOption(20)
  310.         @ClearOption(65)
  311.         @SetOption(66)
  312.     @EndIf
  313.     @Pass=(@Pass& -2)
  314.     @AutoDetect = 1
  315. @EndIf
  316.  
  317.  
  318. @SndDrvI=0
  319. L2:
  320. @If (@SndDrvI+20[!@Option)
  321.     @SndDrvI =(@SndDrvI+1)
  322.     @Goto L2
  323. @EndIf
  324.  
  325.  
  326. @SndDrv=@StrToken(@SndDrvs, @SndDrvI*2, ":=")
  327. @SndDrv="DRIVERS\\@SndDrv"
  328.  
  329. @If (65[!@Option)
  330.     @IOAddr=@PeekF("@OutDir\\@SndDrv.COM", 262, 2)
  331.     @IRQ=@PeekF(,, 2)
  332.     @DMA=@PeekF(,, 2)
  333. @EndIf
  334.  
  335. @TmpI1=@IOAddr
  336. @IOAddrQS=""
  337. @If (!@TmpI1) @IOAddrQS="0" @EndIf
  338. IOAD2H:
  339.     @TmpI2=(@TmpI1 & 15)
  340.     @TmpI1=(@TmpI1 / 16)
  341.     @If (@TmpI1 + @TmpI2)
  342.         @IOAddrQS="@StrMid(@HexDig, @TmpI2, 1)@IOAddrQS"
  343.     @EndIf
  344.     @If (@TmpI1) @Goto IOAD2H @EndIf
  345. @If (@IOAddr==65535) 
  346.     @IOAddrQS=@Text("None")
  347. @EndIf
  348.  
  349. @TmpI1=@IRQ
  350. @IRQQS=""
  351. @If (!@TmpI1) @IRQQS="0" @EndIf
  352. IRQD2H:
  353.     @TmpI2=(@TmpI1 & 15)
  354.     @TmpI1=(@TmpI1 / 16)
  355.     @If (@TmpI1 + @TmpI2) 
  356.         @IRQQS="@StrMid(@HexDig, @TmpI2, 1)@IRQQS"
  357.     @EndIf
  358.     @If (@TmpI1) @Goto IRQD2H @EndIf
  359. @If (@IRQ==65535)
  360.     @IRQQS=@Text("None")
  361. @EndIf
  362.  
  363. @If (@JustIn==0 && @AutoDetect==0 && 20[!@Option)
  364.     @If (@IOAddr!=65535)
  365.         @GetString @IOAddrQS @Cls @Prompt=" @Text("Hex?") "
  366.  @Text("IOA?"):
  367.  
  368.         @EndString
  369.         @IOAddr=0
  370.         @TmpI1=(-1)
  371.         @Goto IOAH2D2
  372. IOAH2D1:
  373.         @IOAddr=(@IOAddr*16 + (@StrFind(@HexDig, @StrMid(@IOAddrQS, @TmpI1, 1)) & 15))
  374. IOAH2D2:
  375.         @TmpI1=(@TmpI1+1)
  376.         @If (@TmpI1<@StrLen(@IOAddrQS)) @Goto IOAH2D1 @EndIf
  377.         @IOAddr=(@IOAddr&65535)
  378.     @EndIf
  379.  
  380.     @If (@IRQ!=65535)
  381.         @GetString @IRQQS @Cls @Prompt=" @Text("Hex?") "
  382.  @Text("IRQ?"):
  383.  
  384.         @EndString
  385.         @IRQ=0
  386.         @TmpI1=(-1)
  387.         @Goto IRQH2D2
  388. IRQH2D1:
  389.         @IRQ=(@IRQ*16 + (@StrFind(@HexDig, @StrMid(@IRQQS, @TmpI1, 1)) & 15))
  390. IRQH2D2:
  391.         @TmpI1=(@TmpI1+1)
  392.         @If (@TmpI1<@StrLen(@IRQQS)) @Goto IRQH2D1 @EndIf
  393.         @IRQ=(@IRQ&65535)
  394.     @EndIf
  395.  
  396.     @If (@DMA!=65535)
  397.         @GetInteger @DMA @Cls @Prompt=" @Text("Dec?") "
  398.  @Text("DMA?"):
  399.  
  400.         @EndInteger
  401.         @DMA=(@DMA&65535)
  402.     @EndIf
  403. @EndIf
  404.  
  405. @DMAQS="@DMA"
  406. @If (@DMA==65535) 
  407.     @DMAQS=@Text("None")
  408. @EndIf
  409.  
  410. @If     (32[=@Option) @SetOption(50)
  411. @ElseIf (33[=@Option) @SetOption(42)
  412. @ElseIf ((!@JustIn) && 66[!@Option)
  413.     @GetOption @Cls @LocalWindow(12,40)
  414.  @Text("Mus?"):
  415.         @Option 40="@MT0"
  416. //              @Option 66="@Text("AutoDet")"
  417.         @Option 43="@MT3"
  418.         @Option 44="@MT4"
  419.         @Option 49="@MT9"
  420.           //@Option 54="@MT14"
  421.         @Option 48="@MT8"
  422.         @Option 47="@MT7"
  423. //              @Option 46="@MT6"
  424.         @Option 41="@MT1"
  425. //              @Option 42="@MT2"
  426. //              @Option 50="@MT10"
  427. //              @Option 53="@MT13"
  428.         @Option 51="@MT11"
  429.         @Option 52="@MT12"
  430. //              @Option 45="@MT5"
  431.     @EndOption
  432. @EndIf
  433. @If (66[=@Option)
  434.     @If (@DetectMusicDriver() == 1)
  435.         @SetOption(41)
  436.     @Else   // MT-32 and LAPC-I are detectable; MIDI isn't
  437.         @SetOption(48)
  438.     @EndIf
  439. @EndIf
  440.  
  441. @MusDrvI=0
  442. L3:
  443. @If (@MusDrvI+40[!@Option)
  444.    @MusDrvI =(@MusDrvI+1)
  445.    @Goto L3
  446. @EndIf
  447.  
  448.  
  449. @If (!@JustIn)
  450.     @GetGroups @Cls @CheckBox @LocalWindow(9,40)
  451.     @Text("Controls?"):
  452.         @Set J="@Text("Joystick?")"
  453.         @Set M="@Text("Mouse?")"
  454.         @Set C="@Text("Cyberman?")"
  455.         @Set F="@Text("FCS?")"
  456.         @Set W="@Text("WCS?")"
  457.         @Set R="@Text("Rudder Pedals?")"
  458.     @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  459.     @EndGroups
  460.     @If (J[=@Group) @Joystick = 1 @Else @Joystick = 0 @Endif
  461.     @If (M[=@Group) @Mouse = 1 @Else @Mouse = 0 @Endif
  462.     @If (C[=@Group) @Cyberman = 1 @Else @Cyberman = 0 @Endif
  463.     @If (F[=@Group) @FCS = 1 @Else @FCS = 0 @Endif
  464.     @If (W[=@Group) @WCS = 1 @Else @WCS = 0 @Endif
  465.     @If (R[=@Group) @Rudders = 1 @Else @Rudders = 0 @Endif
  466. @Else
  467.     @If (@Exists(@TmpQS))
  468.         @Joystick=@PeekF(@TmpQS, 8, 2)
  469.         @Mouse=@PeekF(,6, 2)
  470. //              @Cyberman=@PeekF(,10, 2)
  471.         @FCS=@PeekF(,16, 2)     
  472.         @WCS=@PeekF(,18, 2)
  473.         @Rudders=@PeekF(,20, 2)
  474.         @CfgWord=@PeekF(,22, 2)
  475.         @If (@CfgWord & 128) //check for cyberman
  476.             @Cyberman = 1
  477.         @Endif
  478.     @Endif
  479. @EndIf
  480.  
  481.  
  482. @If (24[=@Option || 33[=@Option)
  483.     @ClearGroup(S)
  484. @EndIf
  485. /*
  486. @If (!@ExtraMem)
  487.     @ClearGroup(X)
  488.     @ClearGroup(H)
  489. @EndIf
  490.  
  491. @If (!@JustIn)
  492.     @If ((24[!@Option && 33[!@Option) || @ExtraMem)
  493.         @GetGroups @Cls @CheckBox @LocalWindow(9,40)
  494.         @Text("Add?"):
  495.         @If (24[!@Option && 33[!@Option)
  496.             @Set S="@Text("Smooth?")"
  497.         @EndIf
  498.         @If (@ExtraMem)
  499.             @Set X="@Text("EMS?")"
  500.             @Set H="@Text("LoadHi?")"
  501.         @EndIf
  502.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  503.         @EndGroups
  504.     @EndIf
  505. @EndIf
  506. */
  507.  
  508. @CfgWord = 2 //set keyboard flag as default
  509. @If (M[=@Group || @Mouse || C[=@Group || @Cyberman)
  510.     @CfgWord = (@CfgWord | 1)
  511.     @If (C[=@Group || @Cyberman) @CfgWord = (@CfgWord | 128) @Endif
  512. @Endif
  513. @If (J[=@Group || @Joystick || F[=@Group || @FCS)       
  514.     @CfgWord = (@CfgWord | 4)
  515.     @If (F[=@Group || @FCS) @CfgWord = (@CfgWord | 16) @Endif
  516.     @If (J[=@Group || @Joystick)    @CfgWord = (@CfgWord | 8) @Endif
  517. @Endif
  518. @If (R[=@Group || @Rudders)     @CfgWord = (@CfgWord | 32) @Endif
  519. //@If (C[=@Group || @Cyberman) @CfgWord = (@CfgWord | 128) @Endif
  520. @If (@MusDrvI)  @CfgWord = (@CfgWord | 256) @Endif
  521. @If (@SndDrvI)  @CfgWord = (@CfgWord | 512) @Endif
  522.  
  523. //@Write(@TmpQS, "ab", "")
  524. @PokeF(@TmpQS, 0, 2, 1)             // .CFG file version
  525. //@PokeF(,, 1, @CDDriveI)
  526. @PokeF(,, 2, @MusDrvI)
  527. @PokeF(,, 2, @SndDrvI)
  528. //@PokeF(,, 1, (S[=@Group))
  529. //@PokeF(,, 1, (X[=@Group))
  530. @PokeF(,, 2, @Mouse)
  531. @PokeF(,, 2, @Joystick)
  532. //@PokeF(,, 2, (C[=@Group))
  533. @PokeF(,, 2, @IOAddr)
  534. @PokeF(,, 2, @IRQ)
  535. @PokeF(,, 2, @DMA)
  536. @PokeF(,, 2, @FCS)
  537. @PokeF(,, 2, @WCS)
  538. @PokeF(,, 2, @Rudders)
  539.  
  540. @PokeF(,, 2, @CfgWord)          //write to shl_hardware
  541. @PokeF(,31, 2, @CfgWord)        //write to sim_hardware
  542. @PokeF(,39, 1, 0)                       // \0 to pathname for current dir
  543. //@PokeF(,, 1, (H[=@Group))
  544. //@PokeF(,, 1, (F[=@Group))
  545. //@PokeF(,, 1, (W[=@Group))
  546. //@PokeF(,, 1, (R[=@Group))
  547.  
  548. @PokeF("@OutDir\\@SndDrv.COM", 262, 2, @IOAddr)
  549. @PokeF(,, 2, @IRQ)
  550. @PokeF(,, 2, @DMA)
  551.  
  552. @GetOption @Cls @CheckBox @LocalWindow(20,40)
  553.     @Name @Text("SysCfg")
  554.  
  555.     @Text("Snd"):@Move(3,40)@StrToken(@SndDrvs, @SndDrvI*2 + 1, ":=")
  556.     @Text("IOA"):@Move(4,40)@IOAddrQS 
  557.     @Text("IRQ"):@Move(5,40)@IRQQS
  558.     @Text("DMA"):@Move(6,40)@DMAQS
  559.     @Text("Mus"):@Move(7,40)@StrToken(@MusDrvs, @MusDrvI*2 + 1, ":=")
  560.     @Text("Joystick"):@Move(8,39)@If (J[=@Group || @Joystick) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  561.     @Text("Mouse"):@Move(9,39)@If (M[=@Group || @Mouse) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  562.     @Text("Cyberman"):@Move(10,39)@If (C[=@Group || @Cyberman) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  563.     @Text("FCS"):@Move(11,39)@If (F[=@Group || @FCS) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  564.     @Text("WCS"):@Move(12,39)@If (W[=@Group || @WCS) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  565.     @Text("Rudders"):@Move(13,39)@If (R[=@Group || @Rudders) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  566.     
  567.     @Text("ToChg"):
  568.                @OutDir\INSTALL
  569.  
  570.     @If (!(@Pass&1)) @SetOption(63) @EndIf @Option 63="@Text("Cfg?")"
  571.     @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  572. @EndOption
  573. @Pass=(@Pass|1)
  574. @If (63[=@Option) 
  575.     @JustIn = 0
  576.     @AutoDetect = 0
  577.     @Goto InputConfig
  578. @EndIf
  579.  
  580.  
  581. @If (40[!@Option)
  582.     @MusDrv=@StrToken(@MusDrvs, @MusDrvI*2, ":=")
  583.     @Args="@Args -M:DRIVERS\\@MusDrv"
  584. @EndIf
  585. @If (S[=@Group)
  586.     @Args="@Args -O"
  587. @EndIf
  588. @If (X[=@Group)
  589.     @Args="@Args -X"
  590. @EndIf
  591. //@If (H[=@Group)
  592.     @LH="LOADHIGH"
  593. //@EndIf
  594.  
  595. @Write("MW2DEMO.BAT", "wt","@@echo off\n@OutDrive:\ncd \\@Subdir\n")
  596. @If (@SndDrvI == 12)
  597.     @Write(, "at",
  598.         "@LH DRIVERS\\ULTRAMID -DDRIVERS\\ -M90 -NMT32.INI\n")
  599. @EndIf
  600. @Write(, "at",
  601.     "@LH @SndDrv\n")
  602. //@If (@SndDrvI == 6 || @SndDrvI == 7)
  603. //      @Write(, "at",
  604. //              "PAS set fm to 90\nPAS set pcm to 60\nPAS set vol to 60\n")
  605. //@EndIf
  606. @Write(, "at",
  607. /*      "@MADECmd @FileBase @Args\n@SndDrv u\n") */
  608.     "MW2SHELL\n@SndDrv u\n")        
  609. @If (@SndDrvI == 12)
  610.     @Write(, "at",
  611.         "DRIVERS\\ULTRAMID -F\necho.\n")
  612. @EndIf
  613.  
  614. @TmpQS="@OutDir\\READ.ME"
  615. @If (@Pass<2 && @Exists(@TmpQS))
  616.     @GetOption @Cls @CheckBox @LocalWindow(10,40)
  617.  
  618.  @Text("README1", @Name)
  619.  
  620.  @Text("README2")
  621.         @SetOption(64) @Option 64="@Text("VuREADME?")"
  622.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  623.     @EndOption
  624.     @If (64[=@Option) @Browse(@TmpQS) @EndIf
  625. @EndIf
  626.  
  627. @Display @Cls
  628.  @Text("Done", @Name)
  629.  
  630.  @Text("ToPlay"):
  631.  
  632.     @OutDir\MW2DEMO
  633.  
  634.  @Text("ToChg"):
  635.  
  636.     @OutDir\INSTALL
  637.  
  638.     @Pause
  639. @EndDisplay
  640.  
  641. @Finish @Cls
  642. @EndFinish
  643.